﻿using ImoviesBlazorAntPro.Shared.Entities;
using ImoviesBlazorAntPro.Shared.Utils;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace ImoviesBlazorAntPro.Server.Repository
{
    public interface IAnnualReviewRepository
    {
        /// <summary>
        /// 获取全部数据
        /// </summary>
        /// <returns></returns>
        Task<IEnumerable<AnnualReview>> GetListAsync(AnnualReviewsVideoCate videoCate);

        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="annualReview"></param>
        void AddAnnualReview(AnnualReview annualReview);

        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="annualReview"></param>
        Task UpdateAnnualReviewAsync(AnnualReview annualReview);

        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="annualReviewId"></param>
        Task DeleteAnnualReviewAsync(uint annualReviewId);

        /// <summary>
        /// 保存操作
        /// </summary>
        /// <returns></returns>
        Task<bool> SaveAsync();

        /// <summary>
        /// 批量删除
        /// </summary>
        /// <param name="Ids"></param>
        /// <returns></returns>
        void DeleteBatch(List<uint> Ids);
    }
}
